﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace TodoApp.TMS_settlement.Payments
{
    /// <summary>
    /// 付款管理
    /// </summary>
    public class TMS_Payment : BasicAggregateRoot<Guid>
    {
        /// <summary>
        /// 标题
        /// </summary>
        [Required(ErrorMessage = ("标题不能为空"))]
        [StringLength(20)]
        public string Payment_Title { get; set; }
        /// <summary>
        /// 付款金额
        /// </summary>
        [Required(ErrorMessage = ("付款金额不能为空"))]
        public decimal Payment_Amount { get; set; }
        /// <summary>
        /// 结算方式
        /// </summary>
        [Required(ErrorMessage = ("结算方式不能为空"))]
        [StringLength(20)]
        public string Payment_Settlement { get; set; }
        /// <summary>
        /// 支付对象
        /// </summary>
        [Required(ErrorMessage = ("支付对象不能为空"))]
        [StringLength(20)]
        public string Payment_Object { get; set; }
        /// <summary>
        /// 开户行
        /// </summary>
        [Required(ErrorMessage = ("开户行不能为空"))]
        [StringLength(20)]
        public string Payment_BankDeposit { get; set; }
        /// <summary>
        /// 银行账户
        /// </summary>
        [Required(ErrorMessage = ("银行账户不能为空"))]
        [StringLength(20)]
        public string Payment_bankAccount { get; set; }
        /// <summary>
        /// 付款日期
        /// </summary>
        [Required(ErrorMessage = ("付款日期不能为空"))]
        public DateTime Payment_Date { get; set; }
        /// <summary>
        /// 用途描述
        /// </summary>
        [Required(ErrorMessage = ("用途描述不能为空"))]
        [StringLength(100)]
        public string Payment_Purpose { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(100)]
        public string Payment_Note { get; set; }
        /// <summary>
        /// 票据附件
        /// </summary>
        [StringLength(200)]
        public string Payment_Picture { get; set; }
        /// <summary>
        /// 申请人
        /// </summary>
        [StringLength(150)]
        public string Payment_Applicant { get; set; }
        /// <summary>
        /// 核对状态
        /// </summary>
        public bool Payment_CheckState { get; set; } = false;
        /// <summary>
        /// 核对人
        /// </summary>
        [StringLength(150)]
        public string Payment_CheckPeople { get; set; }
        /// <summary>
        /// 删除
        /// </summary>
        public bool Payment_Delete { get; set; } = true;
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime Payment_DateTime { get; set; } = DateTime.Now;
    }
}
